public class Liczba {

	public int n;

	Liczba() {
		n = 0;
	}

	Liczba(int m) {
		n = m;
	}

	public int wartosc(char znak) {

		if (znak == '0')
			return 0;
		else if (znak == '1')
			return 1;
		else if (znak == '2')
			return 2;
		else if (znak == '3')
			return 3;
		else if (znak == '4')
			return 4;
		else if (znak == '5')
			return 5;
		else if (znak == '6')
			return 6;
		else if (znak == '7')
			return 7;
		else if (znak == '8')
			return 8;
		else if (znak == '9')
			return 9;
		else if (znak == 'A')
			return 10;
		else if (znak == 'B')
			return 11;
		else if (znak == 'C')
			return 12;
		else if (znak == 'D')
			return 13;
		else if (znak == 'E')
			return 14;
		else if (znak == 'F')
			return 15;
		return 0;

	}

	public int potega(int podstawa, int wykladnik) {
		int liczba = 1;

		for (int i = 0; i < wykladnik; i++) {
			liczba = liczba * podstawa;
		}
		return liczba;
	}

	Liczba(String m, int podstawa) {
		int p = 0;
		int liczba = 0;
		for (int i = m.length() - 1; i >= 0; i--) {

			liczba = liczba + (wartosc(m.charAt(i)) * potega(podstawa, p));
			p++;
		}
		n = liczba;
	}

	public char znak(int wartosc) {
		if (wartosc == 0)
			return '0';
		else if (wartosc == 1)
			return '1';
		else if (wartosc == 2)
			return '2';
		else if (wartosc == 3)
			return '3';
		else if (wartosc == 4)
			return '4';
		else if (wartosc == 5)
			return '5';
		else if (wartosc == 6)
			return '6';
		else if (wartosc == 7)
			return '7';
		else if (wartosc == 8)
			return '8';
		else if (wartosc == 9)
			return '9';
		else if (wartosc == 10)
			return 'A';
		else if (wartosc == 11)
			return 'B';
		else if (wartosc == 12)
			return 'C';
		else if (wartosc == 13)
			return 'D';
		else if (wartosc == 14)
			return 'E';
		else if (wartosc == 15)
			return 'F';
		return 0;
	}

	public String zapis(int podstawa) {
		String liczba = "";
		int resztazdzielenia;
		int kopian = n;

		while (kopian > 0) {
			resztazdzielenia = kopian % podstawa;

			liczba = liczba + znak(resztazdzielenia);
			kopian = kopian / podstawa;
		}

		String liczbaOdwrocona = "";
		for (int i = liczba.length() - 1; i >= 0; i--) {
			liczbaOdwrocona = liczbaOdwrocona + liczba.charAt(i); // charAt(i)
																	// pobiera
																	// i-ty znak
																	// stringa
		}
		return liczbaOdwrocona;
	}

	public static boolean sprawdzPodstawe(int podstawa) {
		boolean sprawdz = true;
		if (podstawa < 2 || podstawa > 17)
			sprawdz = false;
		return sprawdz;

	}

	public static void main(String[] args) {
		int n = 0;
		Liczba liczba;
		for (int i = 0; i < args.length; i = i + 2) {
			try {
				n = Integer.parseInt(args[i + 1]);
			} catch (NumberFormatException ex) {
				System.out.println("niepoprawna podstawa");
				continue;
			}
			liczba = new Liczba(args[i], n);

			for (int j = 2; j <= 17; j++) {
				System.out.print(liczba.zapis(j) + " ");
			}
		}

	}
}